package com.huashi.dealer.modular.business.user.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * Store端用户列表VO
 *
 * @author 谭陈强
 * @since 2025-08-07
 */
@Data
@Schema(description = "Store端用户列表VO")
public class StoreUserListVo {

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 名称
     */
    @Schema(description = "名称")
    private String nickName;

    /**
     * 地域信息
     */
    @Schema(description = "地域信息")
    private RegionVo region;

    /**
     * 联系人
     */
    @Schema(description = "联系人")
    private String realName;

    /**
     * 电话
     */
    @Schema(description = "电话")
    private String mobile;

    /**
     * 本年目标
     */
    @Schema(description = "本年目标")
    private BigDecimal salesMoney;

    /**
     * 完成进度
     */
    @Schema(description = "完成进度")
    private String progress;

    /**
     * 基本账户余额
     */
    @Schema(description = "基本账户余额")
    private BigDecimal balance;

    /**
     * 账号
     */
    @Schema(description = "账号")
    private String account;

    /**
     * 返利账户余额
     */
    @Schema(description = "返利账户余额")
    private BigDecimal rebate;

    /**
     * 核销账户余额
     */
    @Schema(description = "核销账户余额")
    private BigDecimal writeoff;

    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "注册时间")
    private LocalDateTime createTime;

    /**
     * 地域VO
     */
    @Data
    @Schema(description = "地域VO")
    public static class RegionVo {
        /**
         * 省份
         */
        @Schema(description = "省份")
        private String province;

        /**
         * 城市
         */
        @Schema(description = "城市")
        private String city;

        /**
         * 区县
         */
        @Schema(description = "区县")
        private String region;
    }
}
